﻿using System;

namespace Sencha.Serialization
{
    public interface IJsonWriter
    {
		ISerializationContext Context { get; }

		long CharactersWritten { get; }

        void Flush();
		
		void Write(string value);
		void Write(JsonMember value);
		void Write(int number);
		void Write(uint number);
		void Write(long number);
		void Write(ulong number);
		void Write(float number);
		void Write(double number);
		void Write(decimal number);
		void Write(bool value);
		void Write(DateTime datetime);
		void Write(JsonToken token);
  
		void WriteJson(string jsonString);
		void WriteJson(char[] jsonString, int index, int charCount);

		void Reset();
    }
}
